package oss

import (
	"fmt"
	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

type AliyunOssConfig struct {
	Accessid    string `ini:"accessid"`
	Accesskey   string `ini:"accesskey"`
	Endpoint    string `ini:"endpoint"`
	EndpointLoc string `ini:"endpointLoc"`
	Bucket      string `ini:"bucket"`
	Uploaddir   string `ini:"uploaddir"`
	Iamgeurl    string `ini:"iamgeurl"`
}

func IninAliyunOss(conf *AliyunOssConfig) *oss.Client {
	// 创建OSSClient实例。

	os, err := oss.New(conf.Endpoint, conf.Accessid, conf.Accesskey)
	if err != nil {
		fmt.Println("could not connect to the aliyunoss server")
		return &oss.Client{}
	}
	return os
}

// 上传到Oss
/**
@params objectPath 本地上传文件全路径
@params objectPathOss 阿里云oss文件全路径
*/
//func UploadOss(objectPathOss string, objectPath string) (result string, err error) {
//	alioss := ininAliyunOss()
//	// 获取存储空间。
//	bucketName := config.Cfg.AliyunOssConfig.Bucket   // viper.GetString("settings.aliyunoss.bucket")
//	uploaddir := config.Cfg.AliyunOssConfig.Uploaddir //viper.GetString("settings.aliyunoss.uploaddir")
//	bucket, err := alioss.Bucket(bucketName)
//	if err != nil {
//		return
//	}
//	objectName := uploaddir + "/" + objectPathOss
//	// 上传文件。
//	err = bucket.PutObjectFromFile(objectName, objectPath)
//	if err != nil {
//		return
//	}
//	result = objectName
//	// str_replace('http://sqqmall-php.oss-cn-shenzhen.aliyuncs.com', 'https://image.sqqmall.com', $response['oss-request-url']);
//	return
//}

// 从oss删除
//func DeleteOss(objectPathOss string) bool {
//	alioss := ininAliyunOss()
//	bucketName := config.Cfg.AliyunOssConfig.Bucket //viper.GetString("settings.aliyunoss.bucket")
//	bucket, err := alioss.Bucket(bucketName)
//	if err != nil {
//		logrus.WithError(err).Fatal("不存在bucket")
//		return false
//	}
//	// 删除文件。
//	err = bucket.DeleteObject(objectPathOss)
//	if err != nil {
//		logrus.WithError(err).Fatal("删除oss文件失败")
//		return false
//	}
//
//	return true
//}
